// AGENTE QUE REPRESENTA A LOS SENSORES QUE CONTROLAN LA CASA

package correo2jadess;

import jade.core.Agent;
import jade.core.behaviours.*;
import jade.core.AID;

import jade.lang.acl.ACLMessage;

import java.util.Random;

public class Sensores extends Agent{
	
	//SENSORES DE LA CASA
	
	// 0 si la correo est� vac�a, 1 si hay alguien dentro.
	// (correo vacia) || (correo no)
	private int correo;
	private int tiempo;
	

	protected void setup(){
		
		addBehaviour(new controlSensores());
		
	}
	
	// Este comportamiento es el que recibe los cambios en los sensores.
	// Est� simulado por un Random que selecciona el sensor y otro Random 
	// que selecciona el nuevo valor del sensor.
	class controlSensores extends CyclicBehaviour {
			
		public void action() {
			
						
			String hecho = "";
			Random r = new Random();
				
			// Selecciona el sensor y la opci�n.
			int sensor = r.nextInt(9);
			int opcion = r.nextInt(2);
				
			switch(sensor){
				case 0: 
					if(opcion == 0)  hecho = "correo no_preanalizado";	
					if(opcion == 1)  hecho = "correo preanalizado";
					if(opcion == 2)  hecho = "correo no_analizado";		
					if(opcion == 3)  hecho = "correo analizado";		
					System.out.println(hecho);
					break;
//				case 1: 
//					if(opcion == 0)  hecho = "correo no_analizado";	
//					if(opcion == 1)  hecho = "correo analizado";		
//					System.out.println(hecho);
//					break;

			}
			
			// Env�a la informaci�n al controlador mediante un mensaje ACL.
			if(!hecho.equals("")){
				ACLMessage msg=new ACLMessage(ACLMessage.INFORM);
	            msg.addReceiver(new AID("controlador",AID.ISLOCALNAME));
	            msg.setContent(hecho);
	            myAgent.send(msg);
			}
           
           // La informaci�n de los sensores se comprueba cada 5 segundos.
			block(100);
		}
	}


}